#!/usr/bin/env python
# -*- coding: latin-1 -*-
# -*- coding: cp1252 -*-

# Fun fact: Lisp forritunarmálið notar (+ 3 5) til að skrifa 3 + 5 (og er einnig þekkt fyrir að nota þúsund milljón sviga)

def rpn(strengur): # Reverse Polish notation (reyndar supportar þetta ekki tölur yfir 9 ólíkt rpn en hugmynd er sú sama)
	buid = False
	takn = []
	for x in strengur:	# Ástæðan fyrir þessu var að t.d. 525*/ verður 510/ en á að vera 5 10 / (þ.e. bil skipta máli)
		takn.append(x)
	while(len(takn) != 1):
		if takn.count("+") != 0:
			stadur = takn.index("+")
			if takn[stadur-1].isdigit() and takn[stadur-2].isdigit():	# Athuga hvort stökin á undan + séu tölur
				tala = str(int(takn[stadur-1]) + int(takn[stadur-2]))
				takn[stadur] = tala										# Breyti + í rétta tölu
				takn.pop(stadur-1)										# Eyði svo tölunum
				takn.pop(stadur-2)
		if takn.count("-") != 0:
			stadur = takn.index("-")
			if takn[stadur-1].isdigit() and takn[stadur-2].isdigit():	
				tala = str(int(takn[stadur-2]) - int(takn[stadur-1]))
				takn[stadur] = tala										
				takn.pop(stadur-1)										
				takn.pop(stadur-2)
		if takn.count("*") != 0:
			stadur = takn.index("*")
			if takn[stadur-1].isdigit() and takn[stadur-2].isdigit():	
				tala = str(int(takn[stadur-1]) * int(takn[stadur-2]))
				takn[stadur] = tala									
				takn.pop(stadur-1)										
				takn.pop(stadur-2)
		if takn.count("/") != 0:
			stadur = takn.index("/")
			if takn[stadur-1].isdigit() and takn[stadur-2].isdigit():	
				tala = str(int(takn[stadur-2]) / int(takn[stadur-1]))
				takn[stadur] = tala										
				takn.pop(stadur-1)										
				takn.pop(stadur-2)
				
	return takn[0]

print(rpn(input("Inntak: ")))
